home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 26.zip / BS1 part 26 / Powervisor v1.10b disk1.adf / s / pv / DispMemList < prev    next >
Text File  |  1990-11-26  |  2KB  |  89 lines

  1. ;Utility for PowerVisor to show the memorylist
  2. ;(c) J.Tyberghein  6 may 1990  V1.1
  3. ;                        11 jun 1990  V1.2
  4. ;
  5. ;        DispMemList <start>
  6.  
  7. p=0
  8. onerror Einde
  9. _pm=mode
  10. mode hex
  11. cls
  12. getarg
  13. _start=rc
  14. _size=512*1024
  15. _end=_start+_size
  16. loadfd >nil graphics fd:graphics_lib.fd
  17. locate 0,2
  18. print 'Memory Map  V1.2\0a'
  19. print 'White is free\0a'
  20. v SetAPen(rp(),1) Move(rp(),298,8) Draw(rp(),621,8) Draw(rp(),621,216)
  21. v Draw(rp(),298,216) Draw(rp(),298,8)
  22. s=0
  23. p=alloc(n,10)
  24. label Lus
  25.     v Move(rp(),292,10+(s*13)) Draw(rp(),298,10+(s*13))
  26.     d >*p _start+(s*(_size/16))
  27.     v Move(rp(),226,13+(s*13)) Text(rp(),p,8)
  28.     s=s+1
  29.     if s<16
  30.         goto Lus
  31.     endif
  32. v free(p)
  33. p=0
  34.  
  35. clear 041424344
  36. search >nil _start _size 'ABCDABCD'
  37. if !rc
  38.     print 'No free memory !\0a'
  39.     goto Einde
  40. endif
  41. _st=rc
  42. label Loop
  43.     rc=_st+4
  44.     go "\20\11\02\80\ff\ff\ff\fe\20\40\0c\98\41\42\43\44\67\f8\22\88\4e\75"
  45.     _en=rc
  46.     if _en>=_end
  47.         _en=_end
  48.     endif
  49.     _x1=(((_st-_start)/8)%320)+300
  50.     _y1=(((_st-_start)/8)/320)+10
  51.     _x2=(((_en-_start)/8)%320)+300
  52.     _y2=(((_en-_start)/8)/320)+10
  53.     if _y1==_y2
  54.         v Move(rp(),_x1,_y1) Draw(rp(),_x2,_y1)
  55.     else
  56.         v Move(rp(),_x1,_y1) Draw(rp(),619,_y1) Move(rp(),300,_y2) Draw(rp(),_x2,_y2)
  57.         if _y2>(_y1+1)
  58.             v RectFill(rp(),300,_y1+1,619,_y2-1)
  59.         endif
  60.     endif
  61.     if _en==_end
  62.         goto Einde
  63.     endif
  64.     search >nil _en _end-_en 'ABCDABCD'
  65.     if rc
  66.         _st=rc
  67.         goto Loop
  68.     endif
  69.  
  70. label Einde
  71.     if p
  72.         v free(p)
  73.         p=0
  74.     endif
  75.     locate 0,28
  76.     mode=_pm
  77.     remvar _pm
  78.     remvar _en
  79.     remvar _end
  80.     remvar _start
  81.     remvar _st
  82.     remvar _size
  83.     remvar p
  84.     remvar _x1
  85.     remvar _x2
  86.     remvar _y1
  87.     remvar _y2
  88.     remvar s
  89.